'use strict'
const sleep = (args, timeout) => new Promise(resolve => setTimeout(() => resolve(args), timeout));
//串行执行
async function seria() {
    console.log(await sleep("hello", 3000));
    console.log(await sleep("world", 4000));
    console.log(await sleep("!!!", 5000));
}
// sleep("liyun", 3000).then(console.log);
// 并发执行
Promise.all([sleep("hello", 3000), sleep("world", 4000), sleep("!!!", 5000)]).then(console.log);
async function curr() {
    console.log(await Promise.all([sleep("Hello", 3000), sleep("World", 4000), sleep("!!!", 5000)]));
    await seria();
    console.log("结束！");
}
// curr();

function sum(...args) {
    let sum = args.reduce((a, b) => a + b);
    return sum;
}

let count = 0;

// export {count, sleep}; //es6 不支持
module.exports = {
    sleep,
    sum
}; //module.exports

// SOCKET.IO
// let websocket = new WebSocket("ws://localhost:7001/ws/user1");
// console.log("link success")

// //连接发生错误的回调方法
// websocket.onerror = function () {

// };

// //连接成功建立的回调方法
// websocket.onopen = function (event) {
//     websocket.send("hello world!");
// }
// console.log("-----")
// //接收到消息的回调方法
// websocket.onmessage = function (event) {
//     console.log(event.data);
// }

// //连接关闭的回调方法
// websocket.onclose = function () {
//     websocket.close();
// }
// websocket.send(message);